package com.ruoyi.logistic.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;
import java.sql.Timestamp;

@Data
public class NetworkJuniorBill implements Serializable {
    private static final long serialVersionUID = 1482321340692012876L;
    /**
     * 主键
     */
    private Integer id;

    /**
     * 网点名称id/开户网点
     */
    @Excel(name = "网点名称id/开户网点")
    @ApiModelProperty("开户网点")
    private String networkNameId;

    /**
     * 账户名称
     */
    @Excel(name = "账户名称")
    @ApiModelProperty("账户名称")
    private String accountName;

    /**
     * 账户编号
     */
    @Excel(name = "账户编号")
    @ApiModelProperty("账户编号")
    private String accountCode;

    /**
     * 账户类型
     */
    @Excel(name = "账户类型")
    @ApiModelProperty("账户类型")
    private String accountType;

    /**
     * 加盟方式
     */
    @Excel(name = "加盟方式")
    @ApiModelProperty("加盟方式")
    private String joinType;

    /**
     * 余额
     */
    @Excel(name = "余额")
    @ApiModelProperty("余额")
    private BigDecimal balance;

    /**
     * 充值冻结金额(待审核的充值金额)
     */
    @Excel(name = "充值冻结金额(待审核的充值金额)")
    @ApiModelProperty("充值冻结金额(待审核的充值金额)")
    private BigDecimal topUpFrozenAmount;

    /**
     * 扣款冻结金额(待审核的扣款金额)
     */
    @Excel(name = "扣款冻结金额(待审核的扣款金额)")
    @ApiModelProperty("扣款冻结金额(待审核的扣款金额)")
    private BigDecimal takeOutFrozenAmount;

    /**
     * 可用余额
     */
    @Excel(name = "可用余额")
    @ApiModelProperty("可用余额")
    private BigDecimal usableAmount;

    /**
     * 警戒金额
     */
    @Excel(name = "警戒金额")
    @ApiModelProperty("警戒金额")
    private BigDecimal warningAmountId;

    /**
     * 管控开关
     */
    @Excel(name = "管控开关")
    @ApiModelProperty("管控开关")
    private String controlledSwitch;

    /**
     * 管控金额
     */
    @Excel(name = "管控金额")
    @ApiModelProperty("管控金额")
    private BigDecimal controlledAmountId;

    /**
     * 充值扣款审核
     */
    @Excel(name = "充值扣款审核")
    @ApiModelProperty("充值扣款审核")
    private String topUpDeductionAudit;

    /**
     * 账户状态
     */
    @Excel(name = "账户状态")
    @ApiModelProperty("账户状态")
    private String accountStatus;

    /**
     * 扣款类型
     */
    @Excel(name = "扣款类型")
    @ApiModelProperty("扣款类型")
    private String takeOutType;

    /**
     * 启用时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "启用时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("启用时间")
    private Date enabledTime;

    /**
     * 停用时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "停用时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("停用时间")
    private Date downTime;

    /**
     * 欠款利息
     */
    @Excel(name = "欠款利息")
    @ApiModelProperty("欠款利息")
    private String debtInterest;

    /**
     * 欠款利率
     */
    @Excel(name = "欠款利率")
    @ApiModelProperty("欠款利率")
    private BigDecimal debtRate;

    /**
     * 余额预警通知
     */
    @Excel(name = "余额预警通知")
    @ApiModelProperty("余额预警通知")
    private String balanceWarningNotice;

    /**
     * 通知人手机号
     */
    @Excel(name = "通知人手机号")
    @ApiModelProperty("通知人手机号")
    private String notifierPhone;

    /**
     * 通知人微信号
     */
    @Excel(name = "通知人微信号")
    @ApiModelProperty("通知人微信号")
    private String notifierWechat;

    /**
     * 通知人钉钉号
     */
    @Excel(name = "通知人钉钉号")
    @ApiModelProperty("通知人钉钉号")
    private String notifierDingtalk;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private Long createBy;

    /**
     * 修改人
     */
    @Excel(name = "修改人")
    private Long updateBy;

    /**
     * 备注
     */
    @Excel(name = "备注")
    @ApiModelProperty("备注")
    private String remark;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp updateTime;


    /**
     * 余额预警通知
     */
    @Excel(name = "余额预警通知")
    @ApiModelProperty("余额预警通知('短信','钉钉')")
    private String notifierType;
}
